From: C. Scott Ananian Date: Sat, 9 Sep 2017 03:44:42 +0000 (-0400) Subject: Remove "only newlines in trailer" special case for category/language links X-Git-Tag: 1.31.0-rc.0~1920^2 X-Git-Url: http://git.cyclocoop.org/%22.%24info%5B?a=commitdiff_plain;h=5676481c6d7e06693bc925c18fb652adbd5e36b5;p=lhc%2Fweb%2Fwiklou.git Remove "only newlines in trailer" special case for category/language links This special case complicates wikitext semantics and ought to be unnecessary. Parsoid doesn't include this special case; if this patch to the PHP parser isn't merged, we should write one for Parsoid to implement the missing special case logic. Bug: T175416 Change-Id: I3865c51b21de9d63ac5d06dcc3a3fa9108129d6c --- diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index 0d11d5a397..fe8622a5ea 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -2299,10 +2299,7 @@ class Parser { /** * Strip the whitespace interwiki links produce, see T10897 */ - $s = rtrim( $s . $prefix ); - // Special case: strip newlines when only thing between - // this link and next are newlines - $s .= trim( $trail, "\n" ) === '' ? '' : $trail; + $s = rtrim( $s . $prefix ) . $trail; # T175416 continue; } @@ -2330,10 +2327,7 @@ class Parser { /** * Strip the whitespace Category links produce, see T2087 */ - $s = rtrim( $s . $prefix ); # T2087, T87753 - // Special case: strip newlines when only thing between - // this link and next are newlines - $s .= trim( $trail, "\n" ) === '' ? '' : $trail; + $s = rtrim( $s . $prefix ) . $trail; # T2087, T87753 if ( $wasblank ) { $sortkey = $this->getDefaultSort(); diff --git a/tests/parser/parserTests.txt b/tests/parser/parserTests.txt index ca16738219..9a08b47a29 100644 --- a/tests/parser/parserTests.txt +++ b/tests/parser/parserTests.txt @@ -16140,11 +16140,9 @@ parsoid=wt2html,html2html Foo !! end -# NOTE that Parsoid does not currently implement this special case -# (T175416). The plan is to remove this weird special-case in the PHP -# parser to make it match the Parsoid output. +# Note that Parsoid differs slightly from PHP due to T175421 !! test -11. Special case where only newlines separate links +11. Special case where only newlines separate links (T175416) !! options parsoid=wt2html,html2html !! wikitext @@ -16154,7 +16152,9 @@ parsoid=wt2html,html2html [[Foo]] !! html/php -

FooFoo +


+Foo +

Foo

!! html/parsoid